﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Упр)
	///</summary>
	[DataContract]
	public enum СтатусыПартийТоваров
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"37e0fff0-acc7-49af-b686-6a8db6bc0dfe\", \"Представление\":\"ВозвратнаяТара\"}")]
		ВозвратнаяТара = 0,//Возвратная тара
		[EnumMember(Value = "{\"Ссылка\":\"0fe0dcfc-6561-4429-a442-075a00b975b8\", \"Представление\":\"ВПереработку\"}")]
		ВПереработку = 1,//В переработку
		[EnumMember(Value = "{\"Ссылка\":\"de47876a-5d56-493b-a7ea-983738b50459\", \"Представление\":\"Купленный\"}")]
		Купленный = 2,
		[EnumMember(Value = "{\"Ссылка\":\"91397751-0a73-4e92-8f5d-1cf731244ba3\", \"Представление\":\"НаКомиссию\"}")]
		НаКомиссию = 3,//На комиссию
		[EnumMember(Value = "{\"Ссылка\":\"79f42a2f-4c81-4c96-a38d-fa8b032c672b\", \"Представление\":\"Оборудование\"}")]
		Оборудование = 4,
		[EnumMember(Value = "{\"Ссылка\":\"683ebeae-a71d-4a11-9cb6-0656aec9ec8a\", \"Представление\":\"ПоОрдеру\"}")]
		ПоОрдеру = 5,//По ордеру
		[EnumMember(Value = "{\"Ссылка\":\"ea612c78-77c5-440d-b7c0-c73bb4ea2b93\", \"Представление\":\"Продукция\"}")]
		Продукция = 6,
		[EnumMember(Value = "{\"Ссылка\":\"125b4cf6-8ef7-4eed-9843-c4b127768fee\", \"Представление\":\"ВозвратнаяТараОтложеннаяОтгрузка\"}")]
		ВозвратнаяТараОтложеннаяОтгрузка = 7,//Возвратная тара отложенная отгрузка
	///<summary>
	///Купленный отложенная отгрузка
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"e2e3e49f-b868-4299-bac8-6a3777698927\", \"Представление\":\"КупленныйОтложеннаяОтгрузка\"}")]
		КупленныйОтложеннаяОтгрузка = 8,//Купленный отложенная отгрузка
	}
	public static partial class СтатусыПартийТоваров_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ВозвратнаяТара = new Guid("8d6a86b6-bcb6-fe0d-49af-acc737e0fff0");//Возвратная тара
		public static readonly Guid ВПереработку = new Guid("5a0742a4-b900-b875-4429-65610fe0dcfc");//В переработку
		public static readonly Guid Купленный = new Guid("3798eaa7-b538-5904-493b-5d56de47876a");
		public static readonly Guid НаКомиссию = new Guid("f71c5d8f-2431-a34b-4e92-0a7391397751");//На комиссию
		public static readonly Guid Оборудование = new Guid("8bfa8da3-2c03-2b67-4c96-4c8179f42a2f");
		public static readonly Guid ПоОрдеру = new Guid("5606b69c-c9ae-8aec-4a11-a71d683ebeae");//По ордеру
		public static readonly Guid Продукция = new Guid("3bc7c0b7-eab4-932b-440d-77c5ea612c78");
		public static readonly Guid ВозвратнаяТараОтложеннаяОтгрузка = new Guid("b1c44398-7627-ee8f-4eed-8ef7125b4cf6");//Возвратная тара отложенная отгрузка
		///<summary>
		///Купленный отложенная отгрузка
		///</summary>
		public static readonly Guid КупленныйОтложеннаяОтгрузка = new Guid("376ac8ba-6977-2789-4299-b868e2e3e49f");//Купленный отложенная отгрузка
		public static СтатусыПартийТоваров Получить(this СтатусыПартийТоваров Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СтатусыПартийТоваров Получить(this СтатусыПартийТоваров Значение, Guid Ссылка)
		{
			if(Ссылка == ВозвратнаяТара)
			{
				return СтатусыПартийТоваров.ВозвратнаяТара;
			}
			else if(Ссылка == ВПереработку)
			{
				return СтатусыПартийТоваров.ВПереработку;
			}
			else if(Ссылка == Купленный)
			{
				return СтатусыПартийТоваров.Купленный;
			}
			else if(Ссылка == НаКомиссию)
			{
				return СтатусыПартийТоваров.НаКомиссию;
			}
			else if(Ссылка == Оборудование)
			{
				return СтатусыПартийТоваров.Оборудование;
			}
			else if(Ссылка == ПоОрдеру)
			{
				return СтатусыПартийТоваров.ПоОрдеру;
			}
			else if(Ссылка == Продукция)
			{
				return СтатусыПартийТоваров.Продукция;
			}
			else if(Ссылка == ВозвратнаяТараОтложеннаяОтгрузка)
			{
				return СтатусыПартийТоваров.ВозвратнаяТараОтложеннаяОтгрузка;
			}
			else if(Ссылка == КупленныйОтложеннаяОтгрузка)
			{
				return СтатусыПартийТоваров.КупленныйОтложеннаяОтгрузка;
			}
			return СтатусыПартийТоваров.ПустаяСсылка;
		}
		public static byte[] Ключ(this СтатусыПартийТоваров Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СтатусыПартийТоваров Значение)
		{
			switch (Значение)
			{
				case СтатусыПартийТоваров.ВозвратнаяТара: return ВозвратнаяТара;
				case СтатусыПартийТоваров.ВПереработку: return ВПереработку;
				case СтатусыПартийТоваров.Купленный: return Купленный;
				case СтатусыПартийТоваров.НаКомиссию: return НаКомиссию;
				case СтатусыПартийТоваров.Оборудование: return Оборудование;
				case СтатусыПартийТоваров.ПоОрдеру: return ПоОрдеру;
				case СтатусыПартийТоваров.Продукция: return Продукция;
				case СтатусыПартийТоваров.ВозвратнаяТараОтложеннаяОтгрузка: return ВозвратнаяТараОтложеннаяОтгрузка;
				case СтатусыПартийТоваров.КупленныйОтложеннаяОтгрузка: return КупленныйОтложеннаяОтгрузка;
			}
			return Guid.Empty;
		}
	}
}